// 导入createStore用于创建全局状态管理对象
// combineReducers用于合并多个reducer
// import {createStore, combineReducers} from "redux";

// 通过configureStore方法创建store，因为上面createStore方法已经过时了
import { configureStore } from '@reduxjs/toolkit'

// 创建整合器：控制状态的方法
// state参数是状态
// const reducer = (state = {
//     name: '张三',
//     age: 20,
//     sex: '男'
//     // action参数是动作：action有两个属性，type是类型，payload是更新的最新值
// }, action) => {
//     // 判断动作类型：就是判断type确定给状态的哪个属性更新最新值
//     switch (action.type) {
//         case 'setName':
//             return {
//                 ...state,
//                 // 更新指定属性的状态
//                 name: action.payload
//             }
//         case 'setAge':
//             return {
//                 ...state,
//                 age: action.payload
//             }
//         case 'setSex':
//             return {
//                 ...state,
//                 sex: action.payload
//             }
//         default:
//             return state
//     }
// }


// 创建整合器：控制状态的方法
// state参数是状态
// const reducer = (state = {
//     stu: {
//         name: '张三',
//         age: 20,
//         sex: '男'
//     },
//     school: {
//         name: '江苏第二师范',
//         address: '宿迁市小行路101号'
//     }
//     // action参数是动作：action有两个属性，type是类型，payload是更新的最新值
// }, action) => {
//     // 判断动作类型：就是判断type确定给状态的哪个属性更新最新值
//     switch (action.type) {
//         case 'setStu':
//             return {
//                 ...state,
//                 stu: action.payload
//             }
//         case 'setStuName':
//             return {
//                 ...state,
//                 // 更新指定属性的状态
//                 stu: {
//                     ...state.stu,
//                     name: action.payload
//                 }
//             }
//         case 'setStuAge':
//             return {
//                 ...state,
//                 stu: {
//                     ...state.stu,
//                     age: action.payload
//                 }
//             }
//         case 'setStuSex':
//             return {
//                 ...state,
//                 stu: {
//                     ...state.stu,
//                     sex: action.payload
//                 }
//             }
//         case 'setSchoolName':
//             return {
//                 ...state,
//                 school: {
//                     ...state.school,
//                     name: action.payload
//                 }
//             }
//         case 'setSchoolAddress':
//             return {
//                 ...state,
//                 school: {
//                     ...state.school,
//                     address: action.payload
//                 }
//             }
//         default:
//             return state
//     }
// }

// 导入各个reducer
import stuReducer from "./modules/stu";
import schoolSlice from "./modules/school";

// // 合并所有的Reducer
// const reducer = combineReducers({
//     stu,
//     school
// })
//
// // 创建store对象
// const store = createStore(reducer)

// 通过configureStore方法创建store对象
const store = configureStore({
    // 这里配置所有的reducer类似于vue中的module
    reducer : {
        stu:stuReducer,
        // 从切片对象中获取reducer
        school : schoolSlice.reducer
    }
})

export default store
